#include<stdio.h>
#include<math.h>

//int main()//1
//{
//	int i,n,k,index,temp;
//	int a[20];
//	scanf("%d",&n);
//	for(i=0;i<n;i++)
//	{
//		scanf("%d",&a[i]);
//	}
//	for(k=0;k<n-1;k++)
//	{
//		index=k;//xb=k
//		for(i=k+1;i<n;i++)
//		{
//			if(a[i]>a[index])
//			{
//				index=i;
//			}
//		}
//		temp=a[index];
//		a[index]=a[k];
//		a[k]=temp;
//	}
//	printf("After sorted:\n");
//	for(i=0;i<n;i++)
//	{
//		printf("%d\n",a[i]);
//	}
//	return 0;
//} 

//int main()//2
//{
//	int a[6][6],i,j,m,n,sum;
//	scanf("%d%d",&m,&n);
//	for(i=0;i<m;i++)
//	{
//		for(j=0;j<n;j++)
//		{
//			scanf("%d",&a[i][j]);
//		}
//	}
//    for(i=0;i<m;i++)
//	{
//        sum=0;
//        for(j=0;j<n;j++)
//        {
//           	sum=sum+a[i][j];
//        }
//        printf("%d\n",sum);
//	}
//    return 0;
//}

int main()//3 
{
	int i,j,m,n;
	int a[20][20],b[20][20];
	scanf("%d%d",&m,&n);
	for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
		{
			scanf("%d",&a[i][j]);
		}
	}
	m=m%n;
	for(j=0;j<n;j++)
	{
		for (i=0;i<n;i++)
		{
			if(j<m)
			{
				b[i][j]=a[i][n-m+j];
			}
			else
			{
				b[i][j]=a[i][j-m];
			}
		}
	}
	for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
		{
			printf("%d ",b[i][j]);
		}
		printf("\n");
	}
	return 0;
}
